entry: Don't show text handles too eagerly on button press
authorCarlos Garnacho <carlosg@gnome.org>
Tue, 8 Apr 2014 19:15:06 +0000 (21:15 +0200)
committerCarlos Garnacho <carlosg@gnome.org>
Fri, 23 May 2014 17:54:26 +0000 (19:54 +0200)
Instead do so on button release, or after text selection dragging
starts.

gtk/gtkentry.c

index 764e952c8845f94696fc66d4dccc3fd2063ba33a..4f97458e4a18b2c9765378ee0c316d24578b2b1b 100644 (file)
@@ -4254,6 +4254,9 @@ gtk_entry_button_press (GtkWidget      *widget,
       is_touchscreen = test_touchscreen ||
         gdk_device_get_source (source) == GDK_SOURCE_TOUCHSCREEN;
 
+      if (is_touchscreen)
+        gtk_entry_ensure_text_handles (entry);
+
       priv->select_words = FALSE;
       priv->select_lines = FALSE;
 
@@ -4333,12 +4336,8 @@ gtk_entry_button_press (GtkWidget      *widget,
          else
             {
               gtk_editable_set_position (editable, tmp_pos);
-
               if (is_touchscreen)
-                {
-                  gtk_entry_ensure_text_handles (entry);
-                  gtk_entry_update_handles (entry, GTK_TEXT_HANDLE_MODE_CURSOR);
-                }
+                gtk_entry_update_handles (entry, GTK_TEXT_HANDLE_MODE_NONE);
             }
          break;
  
@@ -4450,6 +4449,7 @@ gtk_entry_button_release (GtkWidget      *widget,
     }
   else if (is_touchscreen)
     {
+      gtk_entry_update_handles (entry, GTK_TEXT_HANDLE_MODE_CURSOR);
       gtk_entry_selection_bubble_popup_set (entry);
       if (priv->magnifier_popover)
         gtk_widget_hide (priv->magnifier_popover);